package javabook.ch08;


/*
 * 예외 : 프로그램 실행 중에 발생하는 예기치 않은 사건
	 < 예외가 발생하는 예 >
		정수를 0으로 나누는 경우
		배열의 첨자가 음수 또는 범위를 벗어나는 경우
		부적절한 형변환이 일어나는 경우
		입출력을 위한 파일이 없는 경우 등
	- 자바 언어는 프로그램에서 예외를 처리할 수 있는 기법을 제공
 */
public class ExceptionErrorEX1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		x();
	}
	
	static void x(){
		y();
	}
	
	static void y() {
		z();                 // z() 메소드 호출
	}

	static void z(){
		int i = 1;
		int j = 0;
		System.out.println(i/j);
	}  // JVM의 묵시적인 예외 처리기 가동
}

/*
 * Exception in thread "main" java.lang.ArithmeticException: / by zero
	at javabook.ch08.ExceptionErrorEX1.z(ExceptionErrorEX1.java:23)
	at javabook.ch08.ExceptionErrorEX1.y(ExceptionErrorEX1.java:17)
	at javabook.ch08.ExceptionErrorEX1.x(ExceptionErrorEX1.java:13)
	at javabook.ch08.ExceptionErrorEX1.main(ExceptionErrorEX1.java:9)
	//에러 발생 
*/


